package com.fau.wm.service;

import java.util.List;
import java.util.Map;

import com.fau.wm.entity.MedicalAdmin;
import com.fau.wm.entity.MedicalLayerPosition;
import com.fau.wm.entity.MedicalWarehouse;
import com.fau.wm.util.Page;

/**
 * @desc 基本信息管理Service接口
 * @author liy
 * @datetime 2014年7月30日,上午11:45:10
 */
public interface IBaseDataManagerService {
	
	/**
	 * @desc 删除仓库信息
	 * @param warehouse
	 * @author liy
	 * @datetime 2014年7月27日,上午11:51:09
	 */
	public boolean deleteWarehouse(MedicalWarehouse warehouse);
	
	/**
	 * @desc 删除储位信息
	 * @param layerPosition
	 * @author liy
	 * @datetime 2014年8月5日,下午3:05:17
	 */
	public boolean deleteLayerPosition(MedicalLayerPosition layerPosition);
	
	
	/**
	 * @desc 保存仓库信息
	 * @param warehouse
	 * @author liy
	 * @datetime 2014年7月27日,上午9:55:29
	 */
	public boolean saveWarehouse(MedicalWarehouse warehouse, MedicalAdmin admin);
	
	/**
	 * @desc 修改并保存仓库信息
	 * @param warehouse
	 * @author liy
	 * @datetime 2014年8月1日,下午8:15:28
	 */
	public void editWarehouse(MedicalWarehouse warehouse);
	
	/**
	 * @desc 保存储位信息
	 * @param layerPosition
	 * @author liy
	 * @datetime 2014年8月2日,下午2:48:18
	 */
	public boolean saveLayerPosition(MedicalLayerPosition layerPosition, MedicalAdmin admin);
	
	/**
	 * @desc 保存储位信息
	 * @param layerPosition
	 * @return boolean
	 * @author liy
	 * @datetime 2014年8月4日,下午5:22:56
	 */
	public boolean editLayerPosition(MedicalLayerPosition layerPosition);
	
	/**
	 * @desc 分页查询仓库
	 * @param warehouse
	 * @param map
	 * @return Page
	 * @author liy
	 * @datetime 2014年7月26日,下午6:38:49
	 */
	public Page findWarehouseByPage(MedicalWarehouse warehouse, Map<String, Object> map);
	
	/**
	 * @desc 分页查询储位
	 * @param shelf
	 * @param map
	 * @return Page
	 * @author liy
	 * @datetime 2014年7月27日,下午8:05:40
	 */
	public Page findPositionByPage(MedicalLayerPosition layerPosition, Map<String, Object> map);
	
	/**
	 * @desc 根据用户所在医院查询仓库
	 * @return List<MedicalWarehouse>
	 * @author liy
	 * @datetime 2014年7月28日,上午10:00:57
	 */
	public List<MedicalWarehouse> findWarehouseByHospital(String hospitalId);
	
}
